<HTML><HEAD><TITLE>=:=(?ExprX, ?ExprY, ?Bool)</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(ic)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>=:=(?ExprX, ?ExprY, ?Bool)</H1>
Reified ExprX is equal to ExprY.
<DL>
<DT><EM>ExprX</EM></DT>
<DD>Arithmetic expression
</DD>
<DT><EM>ExprY</EM></DT>
<DD>Arithmetic expression
</DD>
<DT><EM>Bool</EM></DT>
<DD>Reified truth value of the constraint
</DD>
</DL>
<H2>Description</H2>
<P>
   This predicate is a reified constraint: it succeeds if and only if the
   truth value of its associated constraint (the constraint with arity one
   less and the same arguments except for B) is equal to B, where the value
   0 means false and 1 true.  This constraint can be used both to test the
   validity of the associated constraint (entailment test) and to impose
   this constraint or its negation.  For the former, B will be instantiated
   as soon as either the associated constraint or its negation is subsumed
   by the current state of its domain variables.  For the latter, when B is
   instantiated, then depending on its value, either the associated
   constraint or its negation will be imposed on its arguments.</P>

<H3>Modules</H3>
This predicate is sensitive to its module context (tool predicate, see @/2).
<H2>See Also</H2>
<A HREF="../../lib/ic/L-3.html">< / 3</A>, <A HREF="../../lib/ic/EL-3.html">=< / 3</A>, <A HREF="../../lib/ic/GE-3.html">>= / 3</A>, <A HREF="../../lib/ic/G-3.html">> / 3</A>, <A HREF="../../lib/ic/ERE-3.html">=\= / 3</A>, <A HREF="../../lib/ic/HE-3.html">#= / 3</A>, <A HREF="../../lib/ic/ENE-2.html">=:= / 2</A>, <A HREF="../../lib/suspend/ENE-3.html">suspend : =:= / 3</A>
</BODY></HTML>
